home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 October
/
EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso
/
Aminet
/
gfx
/
show
/
MerlinGfx.lha
/
hrgsystem.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-06-07
|
26KB
|
902 lines
#ifndef _INLINE_HRGSYSTEM_H
#define _INLINE_HRGSYSTEM_H
#include <sys/cdefs.h>
#include <inline/stubs.h>
__BEGIN_DECLS
#ifndef BASE_EXT_DECL
#define BASE_EXT_DECL
#define BASE_EXT_DECL0 extern struct Library * HRGSystemBase;
#endif
#ifndef BASE_PAR_DECL
#define BASE_PAR_DECL
#define BASE_PAR_DECL0 void
#endif
#ifndef BASE_NAME
#define BASE_NAME HRGSystemBase
#endif
BASE_EXT_DECL0
/* Falsche FD/proto-Argumente !
hrAdjustVirtSize gets 4 fd args and 3 protos.
*/
extern __inline LONG
hrAddModeInfo( BASE_PAR_DECL struct HRModeInfo * modeinfo )
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRModeInfo *a0 __asm("a0") = modeinfo;
__asm __volatile ("jsr a6@(-0xa8)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline struct HRBitMap *
hrAllocBitMap( BASE_PAR_DECL ULONG xx )
{
BASE_EXT_DECL
register struct HRBitMap * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register ULONG d0 __asm("d0") = xx;
__asm __volatile ("jsr a6@(-0x3c)"
: "=r" (_res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline struct HRColorMap *
hrAllocColorMap( BASE_PAR_DECL UWORD Colors )
{
BASE_EXT_DECL
register struct HRColorMap * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register UWORD d0 __asm("d0") = Colors;
__asm __volatile ("jsr a6@(-0xf6)"
: "=r" (_res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline struct HRHandle *
hrAllocScreen( BASE_PAR_DECL struct HRModeInfo * mode,
UWORD width, UWORD height,
STRPTR title, ULONG * error )
{
BASE_EXT_DECL
register struct HRHandle * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRModeInfo * a0 __asm("a0") = mode;
register UWORD d0 __asm("d0") = width;
register UWORD d1 __asm("d1") = height;
register STRPTR a1 __asm("a1") = title;
register ULONG * a2 __asm("a2") = error;
__asm __volatile ("jsr a6@(-0xde)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (a1), "r" (a2)
: "d0", "d1", "a0", "a1", "a2");
return _res;
}
extern __inline ULONG
hrAllocSecondView( BASE_PAR_DECL struct HRHandle * hrh,
UWORD width, UWORD height, UBYTE mode )
{ BASE_EXT_DECL
register ULONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register UWORD d0 __asm("d0") = width;
register UWORD d1 __asm("d1") = height;
register UBYTE d2 __asm("d2") = mode;
__asm __volatile ("jsr a6@(-0x180)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2)
: "d0", "d1", "a0", "a1", "d2");
return _res;
}
extern __inline BOOL
hrAttachScreen( BASE_PAR_DECL struct HRHandle * hrh, struct Screen * scr )
{
BASE_EXT_DECL
register BOOL _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register struct Screen * a1 __asm("a1") = scr;
__asm __volatile ("jsr a6@(-0xea)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline BOOL
hrCalcVirtualSize( BASE_PAR_DECL struct HRModeInfo *mi,
UWORD *width, UWORD *height )
{ BASE_EXT_DECL
register BOOL _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRModeInfo *a0 __asm("a0") = mi;
register UWORD *a1 __asm("a1") = width;
register UWORD *a2 __asm("a2") = height;
__asm __volatile ("jsr a6@(-0xba)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1), "r" (a2)
: "d0", "d1", "a0", "a1", "a2");
return _res;
}
extern __inline ULONG
hrCheckScreenState( BASE_PAR_DECL struct Screen * scr )
{
BASE_EXT_DECL
register ULONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct Screen *a0 __asm("a0") = scr;
__asm __volatile ("jsr a6@(-0x13e)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline BOOL
hrCheckVSizeMatch( BASE_PAR_DECL struct HRModeInfo * modeinfo,
UWORD vwidth, UWORD vheight, ULONG flags )
{ BASE_EXT_DECL
register BOOL _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRModeInfo * a0 __asm("a0") = modeinfo;
register UWORD d0 __asm("d0") = vwidth;
register UWORD d1 __asm("d1") = vheight;
register ULONG d2 __asm("d2") = flags;
__asm __volatile ("jsr a6@(-0x138)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2)
: "d0", "d1", "a0", "a1", "d2");
return _res;
}
extern __inline void
hrClearScreen( BASE_PAR_DECL struct HRHandle * hrh )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
__asm __volatile ("jsr a6@(-0x8a)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline ULONG
hrCloseAutoScreen( BASE_PAR_DECL UBYTE *pattern )
{
BASE_EXT_DECL
register ULONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register UBYTE *a0 __asm("a0") = pattern;
__asm __volatile ("jsr a6@(-0x174)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline void
hrCloseScreen( BASE_PAR_DECL struct HRHandle * h_res )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = h_res;
__asm __volatile ("jsr a6@(-0x60)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline LONG
hrDelModeInfo( BASE_PAR_DECL struct HRModeInfo * modeinfo )
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRModeInfo *a0 __asm("a0") = modeinfo;
__asm __volatile ("jsr a6@(-0xae)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline void
hrDoBanking( BASE_PAR_DECL struct HRBitMap * hrbitmap, ULONG bank )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRBitMap *a0 __asm("a0") = hrbitmap;
register ULONG d0 __asm("d0") = bank;
__asm __volatile ("jsr a6@(-0x24)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
}
extern __inline ULONG
hrEazyCheckAbort( BASE_PAR_DECL struct HRHandle * h_res )
{
BASE_EXT_DECL
register ULONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = h_res;
__asm __volatile ("jsr a6@(-0x120)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline struct HRHandle *
hrEazyOpenScreen( BASE_PAR_DECL struct HRModeInfo * mode,
UWORD width, UWORD height, ULONG ezmode,
STRPTR title, ULONG * error )
{ BASE_EXT_DECL
register struct HRHandle * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRModeInfo *a0 __asm("a0") = mode;
register UWORD d0 __asm("d0") = width;
register UWORD d1 __asm("d1") = height;
register ULONG d2 __asm("d2") = ezmode;
register STRPTR a1 __asm("a1") = title;
register ULONG * a2 __asm("a2") = error;
__asm __volatile ("jsr a6@(-0x12c)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (a2)
: "d0", "d1", "a0", "a1", "d2", "a2");
return _res;
}
extern __inline struct HRHandle *
hrEazyScreenAttach( BASE_PAR_DECL struct HRHandle * hrh,
struct Screen * iscr,
ULONG ezmode, ULONG * error )
{ BASE_EXT_DECL
register struct HRHandle * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
register struct Screen *a1 __asm("a1") = iscr;
register ULONG d0 __asm("d0") = ezmode;
register ULONG *a2 __asm("a2") = error;
__asm __volatile ("jsr a6@(-0x132)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (a2)
: "d0", "d1", "a0", "a1", "a2");
return _res;
}
extern __inline ULONG
hrEazyWaitClose (BASE_PAR_DECL struct HRHandle * h_res, ULONG timeout)
{
BASE_EXT_DECL
register ULONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = h_res;
register ULONG d0 __asm("d0") = timeout;
__asm __volatile ("jsr a6@(-0x126)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline ULONG
hrFindScreen( BASE_PAR_DECL UBYTE *pattern )
{
BASE_EXT_DECL
register ULONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register UBYTE *a0 __asm("a0") = pattern;
__asm __volatile ("jsr a6@(-0x17a)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline void
hrFlushBitMaps( BASE_PAR_DECL0 )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
__asm __volatile ("jsr a6@(-0x48)"
: /* no output */
: "r" (a6)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrFreeBitMap( BASE_PAR_DECL struct HRBitMap * bitmap )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRBitMap *a0 __asm("a0") = bitmap;
__asm __volatile ("jsr a6@(-0x42)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrFreeColorMap( BASE_PAR_DECL struct HRColorMap *colormap )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRColorMap *a0 __asm("a0") = colormap;
__asm __volatile ("jsr a6@(-0xfc)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrFreeScreen( BASE_PAR_DECL struct HRHandle * hrh )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
__asm __volatile ("jsr a6@(-0xe4)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrFreeSecondView( BASE_PAR_DECL struct HRHandle * hrh )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
__asm __volatile ("jsr a6@(-0x198)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline struct HRCursor *
hrGetDefaultCursor( BASE_PAR_DECL UBYTE type )
{
BASE_EXT_DECL
register struct HRCursor * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register UBYTE d0 __asm("d0") = type;
__asm __volatile ("jsr a6@(-0xcc)"
: "=r" (_res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline STRPTR
hrGetErrorText( BASE_PAR_DECL ULONG error )
{
BASE_EXT_DECL
register STRPTR _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register ULONG d0 __asm("d0") = error;
__asm __volatile ("jsr a6@(-0x162)"
: "=r" (_res)
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline struct HRHardwareInfo *
hrGetHardwareInfo( BASE_PAR_DECL0 )
{
BASE_EXT_DECL
register struct HRHardwareInfo *_res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
__asm __volatile ("jsr a6@(-0x36)"
: "=r" (_res)
: "r" (a6)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline void
hrGetPaletteRGBA( BASE_PAR_DECL struct HRHandle * hrh,
HRCOL_RGBA * coltab, UBYTE start, UBYTE end )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
register HRCOL_RGBA *a1 __asm("a1") = coltab;
register UBYTE d0 __asm("d0") = start;
register UBYTE d1 __asm("d1") = end;
__asm __volatile ("jsr a6@(-0x84)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
}
extern __inline HRCOL_RGBA
hrGetRGBA( BASE_PAR_DECL struct HRHandle * hrh, UBYTE colnum )
{
BASE_EXT_DECL
register HRCOL_RGBA _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
register UBYTE d0 __asm("d0") = colnum;
__asm __volatile ("jsr a6@(-0x6c)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline UBYTE *
hrLockBitMap( BASE_PAR_DECL struct HRBitMap * hrbm )
{
BASE_EXT_DECL
register UBYTE * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRBitMap *a0 __asm("a0") = hrbm;
__asm __volatile ("jsr a6@(-0x4e)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline struct HRList *
hrLockHRList( BASE_PAR_DECL0 )
{
BASE_EXT_DECL
register struct HRList * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
__asm __volatile ("jsr a6@(-0x2a)"
: "=r" (_res)
: "r" (a6)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline struct HRModeInfo *
hrLockModeInfoList( BASE_PAR_DECL0 )
{
BASE_EXT_DECL
register struct HRModeInfo * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
__asm __volatile ("jsr a6@(-0x9c)"
: "=r" (_res)
: "r" (a6)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline void
hrLockScreenBase( BASE_PAR_DECL struct HRHandle * hrh )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
__asm __volatile ("jsr a6@(-0x144)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline struct HRModeInfo *
hrMatchModeInfoTagList( BASE_PAR_DECL UWORD bitmaptype,
UWORD * width, UWORD * height,
struct TagItem * tags )
{ BASE_EXT_DECL
register struct HRModeInfo * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register UWORD d0 __asm("d0") = bitmaptype;
register UWORD * a0 __asm("a0") = width;
register UWORD * a1 __asm("a1") = height;
register struct TagItem * a2 __asm("a2") = tags;
__asm __volatile ("jsr a6@(-0xc0)"
: "=r" (_res)
: "r" (a6), "r" (d0), "r" (a0), "r" (a1), "r" (a2)
: "d0", "d1", "a0", "a1", "a2");
return _res;
}
#ifndef NO_INLINE_STDARG
#define hrMatchModeInfoTags(a0, tags...) \
({ struct TagItem _tags[] = { tags }; hrMatchModeInfoTagList ((a0), _tags); })
#endif /* not NO_INLINE_STDARG */
extern __inline LONG
hrModifyHDCMP( BASE_PAR_DECL struct HRHandle * hrh, ULONG hdcmp )
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register ULONG d0 __asm("d0") = hdcmp;
__asm __volatile ("jsr a6@(-0x168)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline void
hrModifySpeeder( BASE_PAR_DECL struct HRHandle * hrh,
UWORD cspeed, UBYTE ct_reshold, UBYTE cdynamic )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
register UWORD d0 __asm("d0") = cspeed;
register UBYTE d1 __asm("d1") = ct_reshold;
register UBYTE d2 __asm("d2") = cdynamic;
__asm __volatile ("jsr a6@(-0x16e)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2)
: "d0", "d1", "a0", "a1", "d2");
}
extern __inline void
hrMoveSecondView( BASE_PAR_DECL struct HRHandle * hrh,
UWORD xpos, UWORD ypos )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
register UWORD d0 __asm("d0") = xpos;
register UWORD d1 __asm("d1") = ypos;
__asm __volatile ("jsr a6@(-0x18c)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
}
extern __inline UBYTE *
hrNameBitMapType( BASE_PAR_DECL UWORD bmtype, BOOL mode )
{
BASE_EXT_DECL
register UBYTE * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register UWORD d0 __asm("d0") = bmtype;
register BOOL d1 __asm("d1") = mode;
__asm __volatile ("jsr a6@(-0x156)"
: "=r" (_res)
: "r" (a6), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline struct HRHandle *
hrOpenScreenTagList( BASE_PAR_DECL struct TagItem * tags )
{
BASE_EXT_DECL
register struct HRHandle * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct TagItem *a0 __asm("a0") = tags;
__asm __volatile ("jsr a6@(-0x5a)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
#ifndef NO_INLINE_STDARG
#define hrOpenScreenTags(tags...) \
({ struct TagItem _tags[] = { tags }; hrOpenScreenTagList (_tags); })
#endif /* not NO_INLINE_STDARG */
extern __inline void
hrRemoveScreen( BASE_PAR_DECL struct HRHandle * hrh )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
__asm __volatile ("jsr a6@(-0xf0)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline struct HRModeInfo *
hrRequestModeTagList( BASE_PAR_DECL struct TagItem * tags )
{
BASE_EXT_DECL
register struct HRModeInfo * _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct TagItem *a0 __asm("a0") = tags;
__asm __volatile ("jsr a6@(-0xb4)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
#ifndef NO_INLINE_STDARG
#define hrRequestModeTags(tags...) \
({ struct TagItem _tags[] = { tags }; hrRequestModeTagList ( _tags); })
#endif /* not NO_INLINE_STDARG */
extern __inline void
hrResizeSecondView( BASE_PAR_DECL struct HRHandle * hrh,
UWORD width, UWORD height )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register UWORD d0 __asm("d0") = width;
register UWORD d1 __asm("d1") = height;
__asm __volatile ("jsr a6@(-0x186)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrScrollSecondView( BASE_PAR_DECL struct HRHandle * hrh,
UWORD width, UWORD height )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register UWORD d0 __asm("d0") = width;
register UWORD d1 __asm("d1") = height;
__asm __volatile ("jsr a6@(-0x19e)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSLockBitMap( BASE_PAR_DECL struct HRBitMap * hrbm )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRBitMap * a0 __asm("a0") = hrbm;
__asm __volatile ("jsr a6@(-0x150)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSetBlanking( BASE_PAR_DECL struct HRHandle * hrh, BOOL blank )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register BOOL d0 __asm("d0") = blank;
__asm __volatile ("jsr a6@(-0x114)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSetBorderColor( BASE_PAR_DECL struct HRHandle * dfhb, ULONG col )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = dfhb;
register ULONG d0 __asm("d0") = col;
__asm __volatile ("jsr a6@(-0x11a)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSetColorMap( BASE_PAR_DECL struct HRHandle *hrh,
struct HRColorMap *hrcm )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle *a0 __asm("a0") = hrh;
register struct HRColorMap *a1 __asm("a1") = hrcm;
__asm __volatile ("jsr a6@(-0x102)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSetCursorData( BASE_PAR_DECL struct HRHandle * hrh,
struct HRCursor * data )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register struct HRCursor * a1 __asm("a1") = data;
__asm __volatile ("jsr a6@(-0xc6)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSetCursorPos( BASE_PAR_DECL struct HRHandle * hrh, WORD x, WORD y )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register WORD d0 __asm("d0") = x;
register WORD d1 __asm("d1") = y;
__asm __volatile ("jsr a6@(-0xd2)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSetDispPos( BASE_PAR_DECL struct HRHandle * hrh, WORD posx, WORD posy )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register WORD d0 __asm("d0") = posx;
register WORD d1 __asm("d1") = posy;
__asm __volatile ("jsr a6@(-0x10e)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSetGfxAccel( BASE_PAR_DECL ULONG magic )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register ULONG d0 __asm("d0") = magic;
__asm __volatile ("jsr a6@(-0x108)"
: /* no output */
: "r" (a6), "r" (d0)
: "d0", "d1", "a0", "a1");
}
extern __inline ULONG
hrSetHardwareTagList( BASE_PAR_DECL struct TagItem * tags )
{
BASE_EXT_DECL
register ULONG _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct TagItem *a0 __asm("a0") = tags;
__asm __volatile ("jsr a6@(-0x1e)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
return _res;
}
#ifndef NO_INLINE_STDARG
#define hrSetHardwareTags(tags...) \
({ struct TagItem _tags[] = { tags }; hrSetHardwareTagList (_tags); })
#endif /* not NO_INLINE_STDARG */
extern __inline void
hrSetPaletteRGBA( BASE_PAR_DECL struct HRHandle * hrh,
HRCOL_RGBA * coltab,
UBYTE start, UBYTE end )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register HRCOL_RGBA * a1 __asm("a1") = coltab;
register UBYTE d0 __asm("d0") = start;
register UBYTE d1 __asm("d1") = end;
__asm __volatile ("jsr a6@(-0x7e)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
}
extern __inline BOOL
hrSetPresetPalette( BASE_PAR_DECL struct HRHandle * hrh, ULONG preset )
{
BASE_EXT_DECL
register BOOL _res __asm("d0");
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register ULONG d0 __asm("d0") = preset;
__asm __volatile ("jsr a6@(-0x90)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
return _res;
}
extern __inline void
hrSetRGB32( BASE_PAR_DECL struct HRHandle * hrh,
UBYTE colnum, ULONG r, ULONG g, ULONG b )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register UBYTE d0 __asm("d0") = colnum;
register ULONG d1 __asm("d1") = r;
register ULONG d2 __asm("d2") = g;
register ULONG d3 __asm("d3") = b;
__asm __volatile ("jsr a6@(-0x78)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
: "d0", "d1", "a0", "a1", "d2", "d3");
}
extern __inline void
hrSetRGB8( BASE_PAR_DECL struct HRHandle * hrh,
UBYTE colnum, UBYTE r, UBYTE g, UBYTE b )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register UBYTE d0 __asm("d0") = colnum;
register UBYTE d1 __asm("d1") = r;
register UBYTE d2 __asm("d2") = g;
register UBYTE d3 __asm("d3") = b;
__asm __volatile ("jsr a6@(-0x72)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
: "d0", "d1", "a0", "a1", "d2", "d3");
}
extern __inline void
hrSetRGBA( BASE_PAR_DECL struct HRHandle * hrh,
UBYTE colnum, HRCOL_RGBA color )
{ BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register UBYTE d0 __asm("d0") = colnum;
register HRCOL_RGBA d1 __asm("d1") = color;
__asm __volatile ("jsr a6@(-0x66)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0), "r" (d1)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSwitchCursor( BASE_PAR_DECL struct HRHandle * hrh, UBYTE mode )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register UBYTE d0 __asm("d0") = mode;
__asm __volatile ("jsr a6@(-0xd8)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSwitchDisplay( BASE_PAR_DECL struct HRHandle * hrh, UBYTE mode )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register UBYTE d0 __asm("d0") = mode;
__asm __volatile ("jsr a6@(-0x96)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrSwitchSecondView( BASE_PAR_DECL struct HRHandle * hrh, BOOL flag )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
register BOOL d0 __asm("d0") = flag;
__asm __volatile ("jsr a6@(-0x192)"
: /* no output */
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrUnlockBitMap( BASE_PAR_DECL struct HRBitMap * hrbm )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRBitMap * a0 __asm("a0") = hrbm;
__asm __volatile ("jsr a6@(-0x54)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrUnlockHRList( BASE_PAR_DECL struct HRList * hrlock )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRList * a0 __asm("a0") = hrlock;
__asm __volatile ("jsr a6@(-0x30)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrUnlockModeInfoList( BASE_PAR_DECL0 )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
__asm __volatile ("jsr a6@(-0xa2)"
: /* no output */
: "r" (a6)
: "d0", "d1", "a0", "a1");
}
extern __inline void
hrUnlockScreenBase( BASE_PAR_DECL struct HRHandle * hrh )
{
BASE_EXT_DECL
register struct Library *a6 __asm("a6") = BASE_NAME;
register struct HRHandle * a0 __asm("a0") = hrh;
__asm __volatile ("jsr a6@(-0x14a)"
: /* no output */
: "r" (a6), "r" (a0)
: "d0", "d1", "a0", "a1");
}
#undef BASE_EXT_DECL
#undef BASE_EXT_DECL0
#undef BASE_PAR_DECL
#undef BASE_PAR_DECL0
#undef BASE_NAME
__END_DECLS
#endif /* _INLINE_HRGSYSTEM_H */